iT邦幫忙

2023 iThome 鐵人賽

DAY 20
1
IT管理

從 IT 的視角觀看公司內部的系統管理及設計系列 第 20

Day 20 : 客製化管理 - 如何打造最彈性且符合需求的 ERP 系統?

  • 分享至 

  • xImage
  •  

客製化管理 - 如何打造最彈性且符合需求的 ERP 系統?

https://ithelp.ithome.com.tw/upload/images/20231005/20162545RzwLRmwupN.png

嘿,各位鐵人賽的夥伴們!歡迎來到今天的主題,我們將探討一個相當有趣且很有深度的主題 - ERP 系統的客製化管理。
你有沒有想過,如果 ERP 系統像瑞士刀一樣,能夠隨客戶的需求彈性調整,我們只需要教客戶一次如何使用就行,如果是這樣就太夢幻了。

客製化 vs. 原廠設定

首先,讓我們來解釋一下「客製化」是什麼意思。ERP 系統就像是一件衣服,你可以依照你的偏好和需求來做衣服的調整,就像是高中時大家都會把褲管改窄一樣。(還是只有我會?QAQ)
相對地,「原廠設定」就像是你買回家的標準衣服,可能不完全合身,需要經過調整才會比較舒服或好看。

請瞭解你的需求

了解你的需求是客製化的第一步。
通常我們需要和使用系統的客戶們直接聊天,了解他們的痛點和為何想要改善這些流程,更重要的是開發者一定要清楚知道你的使用者的原始操作流程。
舉例來說,假如你的客戶想要依照訂單的地區來選擇貨運商,因為他們每次都要手動填入這些必要的資訊,很煩又很累。

進入程式設計時間

根據上面的需求,程式要怎麼寫?直覺來說可能會這樣寫:

// 如果目的地在美國,就使用 Fedex 來送貨
// 如果是英國就使用 DHL 送貨
// 否則使用 UPS 來送
if( shipToCountry.Equals("US") )
    shipVia = "Fedex";
else if ( shipToCountry.Equals("GB") )
    shipVia = "DHL";
else
    shipVia = "UPS";

最簡單的 if-else if-else 就解決,輕鬆自在,但是如果今天公司的貨運商合約改了,抑或是找到更便宜的合作貨運商,要改程式,該怎麼辦?
想得更長遠一些,我會寫一個客製化的新畫面,搭配這個資料庫 table 來存這個設計,可能會像是這樣:

CompanyID ShipToCountry ShipVia Description
1 US Fedex If the country is US, using Fedex
1 GB DHL If the country is GB, using DHL
1 Default UPS Default carrier

在程式中就可以直接利用填入的規則來寫入相對應的貨運商,記得不要忘記 CompanyID,不然會讓全部的子公司都走同一個規則,通常這是不可能發生的事情。
如果今天客戶要改需求,我就可以直接在 ERP 系統上利用這個新畫面,馬上修改程式執行的規則,如果要更絕一點,我可以寫一份文件教客戶如何使用這個系統,就沒我的事情了。
當然,最大的好處是,我就可以達到 zero downtime 更新,不用再讓整個 ERP 系統進入維護時間,發布新程式了。
(通常 ERP 系統的客製化程式都需要一段時間來發布新版本的程式)

不要過度客製化

客製化有很多好處,但應該要避免過度客製化。
過多的客製化可能讓你的 ERP 系統變得複雜,難以管理。如果原廠的功能可以辦到的事情,就說服客戶照著原廠的系統工作流程走就好。
有什麼好處呢?如果原廠釋出了新版本的 ERP,你的客製化程式有可能因為改版而壞掉,這時你的工作就會很多,會哭哭啦。


Reference :

今天沒有任何的 Reference,只有我的大腦。


上一篇
Day 19 : 微軟轉戰 ERP 系統?Dynamics 365 介紹
下一篇
Day 21 : ELT 是什麼?和 ETL 有什麼差異?
系列文
從 IT 的視角觀看公司內部的系統管理及設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言